High Level Language Embeddings for Deterministic Concurrency
نویسنده
چکیده
We present a concurrent programming language Cilk-5 in terms of semantics and implementation [1]. We show how it relies on both the compiler and the work stealing scheduler to produce efficient execution schedules of programs, and give a theoretical analysis of its perfomance. We then introduce the concept of dataflow programming [9] in which programs yield the same observable results regardless of a particular execution schedule. This paradigm is useful for parallel programming, since it ensures that programs exhibit identical behaviour independent of the platform they are deployed on. Finally, we describe a method for embedding domain-specific languages in host languages using the typechecker of the host language to ensure typing rules are followed [7]. This technique allows using the staged representation of a program to compile it to different languages depending on the target platform.
منابع مشابه
Modelling Remote Concurrency with Ada. Case Study of Symmetric Non-deterministic Rendez-vous. Modelling Remote Concurrency with Ada. Case Study of Symmetric Non-deterministic Rendez-vous
When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide platform-independent abstractions but, as the platform concurrency behaviour cannot be ignored, this abstraction level must also be able to cope with it and exhibit the influence of different possible behaviours. We st...
متن کاملModelling remote concurrency with Ada. Case study of symmetric non-deterministic rendezvous
When developing concurrent software, a proper engineering practice is to choose a good level of abstraction for expressing concurrency control. Ideally, this level should provide platform-independent abstractions but, as the platform concurrency behaviour cannot be ignored, this abstraction level must also be able to cope with it and exhibit the influence of different possible behaviours. We st...
متن کاملSimulation and Statistical Model Checking for Modestly Nondeterministic Models
Modest is a high-level compositional modelling language for stochastic timed systems with a formal semantics in terms of stochastic timed automata. The analysis of Modest models is supported by the Modest Toolset, which includes the discrete-event simulator modes. modes handles arbitrary deterministic models as well as models that include nondeterminism due to concurrency through the use of met...
متن کاملHigher-Order Concurrency in PVM
Message-passing systems are typically used to achieve high-performance parallel computing. In this paper we examine how advanced concurrent programming can be achieved using existing message-passing systems. In particular, we look at Reppy's extension to Hoare's basic CSP model, called higher-order concurrency, where communication events (such as send, receive and non-deterministic choice) are ...
متن کاملFlowPools: A Lock-Free Deterministic Concurrent Dataflow Abstraction
Implementing correct and deterministic parallel programs is challenging. Even though concurrency constructs exist in popular programming languages to facilitate the task of deterministic parallel programming, they are often too low level, or do not compose well due to underlying blocking mechanisms. In this paper, we present the design and implementation of a fundamental data structure for comp...
متن کاملذخیره در منابع من
با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید
عنوان ژورنال:
دوره شماره
صفحات -
تاریخ انتشار 2010